package com.dinzeer.legendreliclib.lib.event;

import com.dinzeer.legendreliclib.lib.util.impl.RegisteredStackManager;
import net.minecraft.world.entity.player.Player;
import net.minecraftforge.event.entity.player.PlayerEvent;

/**
 * 特别计数器增加事件，当特别计数器值发生变化时触发。
 * <p>
 * 该事件允许模组开发者监听并响应特别计数器值的变化，例如增加或减少特别计数器值的操作。
 */
public class StackChargeEvent extends PlayerEvent {
    /**
     * 关联的特别计数器管理器。
     */
    public RegisteredStackManager stackManager;

    /**
     * 充能/消耗的数量。
     */
    public int amount;

    /**
     * 构造一个新的特别计数器充能事件。
     *
     * @param player       触发事件的玩家实体
     * @param stackManager 相关的特别计数器管理器实例
     * @param amount       充能或消耗的特别计数器数量
     */
    public StackChargeEvent(Player player, RegisteredStackManager stackManager, int amount) {
        super(player);
        this.stackManager = stackManager;
        this.amount = amount;
    }
}